/*************************************************************************
	> File Name: stdarg.c
	> Author: Angel Criss
	> Mail: abbytsing@gmail.com 
	> Created Time: 六  8/ 9 09:41:41 2014
 ************************************************************************/

#include<stdio.h>
#include<stdarg.h>

double sum(int lim,...) //原型有省略号
{
    va_list ap;         // 声明用于存放参数的变量
    double total=0;
    int i;

    va_start (ap,lim);  // 初始化参数列表
    for(i=0;i<lim;i++)
        total+=va_arg(ap,double);   // 访问参数列表中的每一个项目
    va_end(ap);         // 清理工作
    return total;
}

int main(void)
{
    double s,t;

    s=sum(1,2,34,5,6,78,9.9);   // 同下
    t=sum(4,6.7,8,8,10.02,100,40.3,33,5.06); // 第一个参数为int 因为11行
    
    printf("the return of  sum(1,2,34,5,6,78,9.9) is:\n%6.3f\n",s);
    printf("the return of sum(4,6.7,8,8,10.02,100,40.3,33,5.06) is:\n%6.3f\n",t);
    return 0;
}
